﻿/*
 * Created by SharpDevelop.
 * User: CeCi
 * Date: 11/04/2014
 * Time: 07:39 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Data;
using System.Collections.Generic;

namespace Gestión_UTN.blimpl
{
	/// <summary>
	/// Description of mailProfesorblimpl.
	/// </summary>
	public class mailProfesorblimpl:bl.mailProfesorbl
	{
		private static da.mailProfesorda createMailPro = factories.dafactory.createMailPro();
		
		public mailProfesorblimpl()
		{
		}
		
		public bool SaveMailProfesor(int pro_dni, string correo)
		{
			bool ingresado = false;
			
			try 
			{
				ingresado = ( 0 != pro_dni && !correo.Equals(""))
					? createMailPro.SaveMailProfesor(pro_dni, correo)
					: false;
			} 
			catch (Exception) 
			{
				ingresado = false;
			}
			
			return ingresado;
		}
		
		public bool DeleteMailProfesor(int pro_dni, string correo)
		{
			bool eliminado = false;
			
			try 
			{
				eliminado = (0 != pro_dni && !correo.Equals(""))
					? createMailPro.DeleteMailProfesor(pro_dni, correo)
					: false;
			} 
			catch (Exception) 
			{
				eliminado = false;
			}
			
			return eliminado;
		}
		
		public bool ModifyMailProfesor(int pro_dni_anterior, string correo_anterior, int pro_dni, string correo)
		{
			bool modificado = false;
			
			try 
			{
				modificado = (0 != pro_dni_anterior && !correo_anterior.Equals("") && 0 != pro_dni && 
				              !correo.Equals("")) 
					? createMailPro.ModifyMailProfesor(pro_dni_anterior, correo_anterior, pro_dni, correo)
					: false;
			} 
			catch (Exception) 
			{
				modificado = false;
			}
			
			return modificado;
		}
		
		public System.Data.DataTable FindAllMailProfesores()
		{
			DataTable tablaMailPro = null;
			
			try 
			{
				tablaMailPro = createMailPro.FindAllMailProfesores();
			} 
			catch (Exception) 
			{
				tablaMailPro = null;
			}
			
			return tablaMailPro;
		}
		
		public Gestión_UTN.bo.MailProfesorbo FindMailsByDni(int pro_dni)
		{
			bo.MailProfesorbo mailsProf = null;
			
			try 
			{
				List<Entities.MailProfesor> mp = (0 != pro_dni)
					? createMailPro.FindMailsByDni(pro_dni)
					: null;
				
				if (null != mp)
				{
					List<String> correos = new List<string>();
					
					foreach (var m in mp) 
					{
						correos.Add(m.Correo);
					}
					
					mailsProf = new Gestión_UTN.bo.MailProfesorbo(pro_dni,correos);
				}
			} 
			catch (Exception) 
			{
				mailsProf = null;
			}
			
			return mailsProf;
		}
	}
}
